common.skill

জাভাস্ক্রিপ্ট এবং AJAX ইন্টিগ্রেশন (JavaScript and AJAX Integration)

Microsoft Technologies - এএসপি ডট নেট এমভিসি (ASP.Net MVC)
193
193

JavaScript এবং AJAX ওয়েব অ্যাপ্লিকেশনগুলির জন্য অত্যন্ত গুরুত্বপূর্ণ প্রযুক্তি, যা ব্যবহারকারীর ইন্টারঅ্যাকশনকে আরও দ্রুত এবং রেসপন্সিভ করে তোলে। AJAX (Asynchronous JavaScript and XML) ব্যবহার করে, আপনি পৃষ্ঠা রিলোড না করেই সার্ভারের সাথে ডেটা এক্সচেঞ্জ করতে পারেন, যার ফলে অ্যাপ্লিকেশন আরও ইন্টারেক্টিভ এবং দ্রুত প্রতিক্রিয়া দেয়।


JavaScript পরিচিতি

JavaScript একটি স্ক্রিপ্টিং ভাষা, যা মূলত ওয়েব পৃষ্ঠাগুলির মধ্যে ইন্টারঅ্যাকশন এবং ডাইনামিক কার্যকলাপ যুক্ত করতে ব্যবহৃত হয়। এটি ক্লায়েন্ট-সাইডে চলে এবং HTML এবং CSS-এর সাথে একত্রে কাজ করে। JavaScript দিয়ে আপনি UI ডাইনামিক্যালি পরিবর্তন করতে পারেন, ফর্ম ভ্যালিডেশন করতে পারেন, এবং অন্যান্য বিভিন্ন কার্যকরী কাজ সম্পাদন করতে পারেন।

JavaScript এর কিছু মৌলিক ফিচার:

  • DOM (Document Object Model) এর মাধ্যমে HTML উপাদানগুলো ম্যানিপুলেট করা।
  • ব্যবহারকারীর ইনপুট গ্রহণ এবং তা প্রক্রিয়া করা।
  • DOM ইভেন্ট হ্যান্ডলিং (যেমন, ক্লিক, মাউস ওভার)।
  • ডেটা ভ্যালিডেশন এবং ফর্ম সাবমিশন।

JavaScript উদাহরণ:

// একটি বেসিক JavaScript ফাংশন
function greetUser() {
    alert("Welcome to ASP.Net MVC!");
}

AJAX পরিচিতি

AJAX একটি প্রযুক্তি যা আপনার ওয়েব অ্যাপ্লিকেশনকে সার্ভারের সাথে তথ্য বিনিময় করতে দেয়, তবে পুরো পৃষ্ঠা রিলোড না করে। এটি ব্যবহারকারীর অভিজ্ঞতা উন্নত করে, কারণ ব্যবহারকারী কোনো ক্রিয়া করার সাথে সাথে সিস্টেমের রেসপন্স পেতে থাকে, এবং পৃষ্ঠা পুনরায় লোড হওয়ার দরকার পড়ে না।

AJAX এর মৌলিক কাঠামো:

  • XMLHttpRequest অবজেক্ট ব্যবহার করে সার্ভারের সাথে অ্যাসিঙ্ক্রোনাস যোগাযোগ করা।
  • সার্ভারের থেকে প্রাপ্ত ডেটা হ্যান্ডেল করা (সাধারণত JSON বা XML ফরম্যাটে)।

AJAX উদাহরণ:

// AJAX এর মাধ্যমে সার্ভারে ডেটা পাঠানো
function getData() {
    var xhr = new XMLHttpRequest();
    xhr.open("GET", "/Home/GetData", true);
    xhr.onreadystatechange = function () {
        if (xhr.readyState == 4 && xhr.status == 200) {
            document.getElementById("response").innerHTML = xhr.responseText;
        }
    };
    xhr.send();
}

JavaScript এবং AJAX ইন্টিগ্রেশন

ASP.Net MVC-তে JavaScript এবং AJAX ইন্টিগ্রেশন ব্যবহারকারীর অভিজ্ঞতাকে আরও উন্নত করতে সহায়ক। AJAX ব্যবহারের মাধ্যমে, আপনি ডেটাবেসের সাথে ইন্টারঅ্যাকশন করতে পারেন এবং পৃষ্ঠার রিলোড ছাড়াই ডেটা রিটার্ন করতে পারেন।

AJAX-কে ASP.Net MVC তে ইন্টিগ্রেট করা

ASP.Net MVC-তে AJAX ব্যবহার করার জন্য, আপনি $.ajax() ফাংশনটি ব্যবহার করতে পারেন, যা jQuery এর মাধ্যমে AJAX রিকোয়েস্ট পাঠাতে সহায়ক।

AJAX রিকোয়েস্ট পাঠানোর উদাহরণ:

$(document).ready(function () {
    $("#getDataBtn").click(function () {
        $.ajax({
            url: '/Home/GetData', // সার্ভারের URL
            type: 'GET',           // HTTP মেথড
            success: function (response) {
                $("#responseDiv").html(response); // রেসপন্সের মাধ্যমে HTML পরিবর্তন
            },
            error: function (xhr, status, error) {
                alert("Error: " + error);
            }
        });
    });
});

এখানে, একটি বোতামে ক্লিক করলে GetData অ্যাকশন কল করা হবে এবং সার্ভার থেকে প্রাপ্ত ডেটা #responseDiv এলিমেন্টে প্রদর্শিত হবে।

ASP.Net MVC কন্ট্রোলার অ্যাকশন:

public class HomeController : Controller
{
    // GET: Home/GetData
    public ActionResult GetData()
    {
        // ডেটা বা কাস্টম HTML রিটার্ন
        return Content("This is a response from the server.");
    }
}

AJAX এবং JSON ব্যবহার

AJAX রিকোয়েস্টের মাধ্যমে আপনি সাধারণত JSON (JavaScript Object Notation) ডেটা রিটার্ন করেন, যা JavaScript-এ সহজেই প্রসেস করা যায়। ASP.Net MVC-তে AJAX রিকোয়েস্টের মাধ্যমে JSON ডেটা পাঠানোর উদাহরণ:

JSON ডেটা পাঠানো:

$(document).ready(function () {
    $("#submitBtn").click(function () {
        var userData = {
            name: $("#name").val(),
            email: $("#email").val()
        };

        $.ajax({
            url: '/Home/SubmitData',
            type: 'POST',
            data: JSON.stringify(userData), // JSON ডেটা পাঠানো
            contentType: 'application/json',
            success: function (response) {
                alert(response.message);
            },
            error: function () {
                alert("Error!");
            }
        });
    });
});

কন্ট্রোলারে JSON রিটার্ন করা:

public JsonResult SubmitData(UserModel user)
{
    // ডেটা প্রক্রিয়া এবং JSON রেসপন্স রিটার্ন
    return Json(new { message = "Data submitted successfully!" });
}

সারমর্ম

JavaScript এবং AJAX ইন্টিগ্রেশন ব্যবহার করে, আপনি ASP.Net MVC অ্যাপ্লিকেশনকে আরও ইন্টারঅ্যাকটিভ এবং রেসপন্সিভ করতে পারেন। JavaScript ব্যবহার করে আপনি ক্লায়েন্ট-সাইডে ইন্টারঅ্যাকশন এবং ডাইনামিক কার্যকলাপ যোগ করতে পারেন, এবং AJAX এর মাধ্যমে সার্ভারের সাথে ডেটা এক্সচেঞ্জ করতে পারেন, যা পৃষ্ঠা রিলোড ছাড়াই তথ্য আপডেট করতে সক্ষম। এটি ব্যবহারকারীর অভিজ্ঞতাকে আরো দ্রুত এবং স্মুথ করে তোলে, এবং অ্যাপ্লিকেশনটির পারফরম্যান্স উন্নত করে।

common.content_added_by

জাভাস্ক্রিপ্ট এবং jQuery ব্যবহার

192
192

ASP.Net MVC অ্যাপ্লিকেশনগুলিতে ব্যবহারকারীর ইন্টারঅ্যাকশনের জন্য জাভাস্ক্রিপ্ট এবং jQuery একটি গুরুত্বপূর্ণ ভূমিকা পালন করে। এই দুটি প্রযুক্তি ক্লায়েন্ট-সাইড স্ক্রিপ্টিং প্রদান করে, যা ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে সাহায্য করে। জাভাস্ক্রিপ্ট সাধারণভাবে ওয়েব পেজের মধ্যে ডাইনামিক এবং ইন্টারঅ্যাকটিভ উপাদান যুক্ত করতে ব্যবহৃত হয়, এবং jQuery হল একটি জনপ্রিয় JavaScript লাইব্রেরি, যা কোড লেখার প্রক্রিয়া সহজ করে এবং ব্রাউজারের মধ্যে পারফরম্যান্স উন্নত করে।


জাভাস্ক্রিপ্ট (JavaScript) এর ভূমিকা

জাভাস্ক্রিপ্ট একটি স্ক্রিপ্টিং ভাষা যা ওয়েব পেজে ডাইনামিক আচরণ যোগ করার জন্য ব্যবহৃত হয়। এটি ব্যবহারকারীর ইনপুট গ্রহণ করতে, ইন্টারঅ্যাকটিভ কন্টেন্ট তৈরি করতে, এবং পেজের কন্টেন্ট পরিবর্তন করতে পারে, সবকিছু পেজ রিলোড না করেই।

জাভাস্ক্রিপ্ট দিয়ে সাধারণ কাজের উদাহরণ:

বাটনে ক্লিক করলে টেক্সট পরিবর্তন করা:

<button onclick="changeText()">Click Me</button>
<p id="demo">Hello, World!</p>

<script>
    function changeText() {
        document.getElementById("demo").innerHTML = "Hello, JavaScript!";
    }
</script>

এখানে, ব্যবহারকারী যখন "Click Me" বাটনে ক্লিক করবেন, তখন changeText() ফাংশনটি ট্রিগার হবে এবং প্যারাগ্রাফের টেক্সট পরিবর্তিত হবে।


jQuery ব্যবহার

jQuery একটি জনপ্রিয় JavaScript লাইব্রেরি, যা ওয়েব পেজে ডাইনামিক কার্যক্রম সম্পাদন করতে সহজ এবং সংক্ষিপ্ত কোড প্রদান করে। jQuery ওয়েব পেজে ইন্টারঅ্যাকশন এবং অ্যানিমেশন তৈরি করতে ব্যবহৃত হয় এবং ব্রাউজার নির্ভরতা কমায়।

jQuery-এর বৈশিষ্ট্য

  • DOM (Document Object Model) ম্যানিপুলেশন: HTML এবং CSS এলিমেন্টকে সহজে পরিবর্তন করা।
  • ইভেন্ট হ্যান্ডলিং: বিভিন্ন ইভেন্ট যেমন ক্লিক, মাউস হোভার, কী প্রেস ইত্যাদির জন্য সহজ হ্যান্ডলার।
  • এনিমেশন: ওয়েব পেজে সহজেই অ্যানিমেশন তৈরি করা যায়।

jQuery দিয়ে কাজের উদাহরণ:

ক্লিক ইভেন্ট হ্যান্ডলিং:

<button id="myButton">Click Me</button>
<p id="message">This is a jQuery example.</p>

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
    $(document).ready(function(){
        $("#myButton").click(function(){
            $("#message").text("Hello, jQuery!");
        });
    });
</script>

এখানে, $("#myButton").click(function() {...}) কোডটি "Click Me" বাটনে ক্লিক করলে প্যারাগ্রাফের টেক্সট পরিবর্তন করবে।

jQuery দিয়ে DOM ম্যানিপুলেশন:

<div id="container">
    <p>This is a paragraph.</p>
    <button id="changeTextButton">Change Text</button>
</div>

<script>
    $(document).ready(function(){
        $("#changeTextButton").click(function(){
            $("#container p").text("The text has been changed!");
        });
    });
</script>

এখানে, যখন ব্যবহারকারী বাটনে ক্লিক করবেন, তখন প্যারাগ্রাফের টেক্সট পরিবর্তিত হবে।


ASP.Net MVC এ jQuery এবং JavaScript ব্যবহার

ASP.Net MVC অ্যাপ্লিকেশনে jQuery এবং JavaScript ব্যবহার করতে বেশ কিছু সাধারণ কৌশল রয়েছে। সাধারণত, jQuery এবং JavaScript ফাইলগুলি _Layout.cshtml ফাইলে অন্তর্ভুক্ত করা হয়, যাতে এগুলি অ্যাপ্লিকেশনের প্রতিটি পৃষ্ঠায় অ্যাক্সেসযোগ্য হয়।

jQuery এবং JavaScript ফাইল অন্তর্ভুক্ত করা:

_Layout.cshtml-এ jQuery এবং JavaScript অন্তর্ভুক্ত করা:

<head>
    <!-- jQuery CDN -->
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <!-- আপনার HTML কন্টেন্ট -->
    
    <script>
        $(document).ready(function() {
            // এখানে আপনার jQuery কোড থাকবে
        });
    </script>
</body>

এখানে, jQuery লাইব্রেরি CDN থেকে লোড করা হয়েছে এবং ডকুমেন্ট লোড হওয়ার পরে স্ক্রিপ্টটি চলবে।


AJAX (Asynchronous JavaScript and XML)

AJAX হল একটি প্রযুক্তি যা ব্যবহারকারীর সাথে ইন্টারঅ্যাকশন করার সময় পেজ রিলোড ছাড়া সার্ভার থেকে ডেটা লোড করার সুযোগ দেয়। এটি jQuery সহ ব্যবহার করে ওয়েব অ্যাপ্লিকেশনগুলোকে আরও দ্রুত এবং ইন্টারঅ্যাকটিভ করে তোলে।

jQuery-র মাধ্যমে AJAX কল করা:

<button id="loadDataButton">Load Data</button>
<div id="result"></div>

<script>
    $(document).ready(function(){
        $("#loadDataButton").click(function(){
            $.ajax({
                url: '/Home/GetData', // ASP.Net MVC অ্যাকশন মেথড
                type: 'GET',
                success: function(response){
                    $("#result").html(response); // ডেটা দেখানো
                }
            });
        });
    });
</script>

এখানে, $.ajax() ফাংশনটি একটি GET রিকোয়েস্ট পাঠাবে এবং সার্ভার থেকে ডেটা ফিরিয়ে এনে HTML এলিমেন্টে দেখাবে।


সারমর্ম

জাভাস্ক্রিপ্ট এবং jQuery ওয়েব অ্যাপ্লিকেশনে ডাইনামিক এবং ইন্টারঅ্যাকটিভ উপাদান তৈরি করতে সহায়ক। jQuery কোডের পরিমাণ কমায় এবং ব্রাউজার নির্ভরতা কমানোর পাশাপাশি, JavaScript সহজে জটিল DOM ম্যানিপুলেশন ও ইভেন্ট হ্যান্ডলিং করতে সাহায্য করে। ASP.Net MVC অ্যাপ্লিকেশনগুলিতে এই দুটি প্রযুক্তি একসাথে ব্যবহার করা গেলে ওয়েব পেজগুলোর কার্যকারিতা এবং ব্যবহারকারীর অভিজ্ঞতা অনেক উন্নত হতে পারে।

common.content_added_by

AJAX Action Method তৈরি

202
202

ASP.Net MVC-তে AJAX (Asynchronous JavaScript and XML) ব্যবহার করে পেজ রিফ্রেশ ছাড়াই ডেটা প্রক্রিয়াকরণ এবং সার্ভার থেকে ডেটা রিসপন্স পাওয়া সম্ভব। এটি ওয়েব অ্যাপ্লিকেশনকে দ্রুত এবং ইন্টারঅ্যাকটিভ করে তোলে। AJAX Action Method তৈরি করে আমরা ক্লায়েন্ট সাইড (JavaScript) এবং সার্ভার সাইড (ASP.Net MVC) মধ্যে কার্যকরী ডেটা বিনিময় করতে পারি।


AJAX Action Method কী?

AJAX Action Method হলো ASP.Net MVC কন্ট্রোলারের একটি মেথড, যা ক্লায়েন্ট থেকে একটি Asynchronous রিকোয়েস্ট গ্রহণ করে এবং JSON, Partial View, বা HTML রেসপন্স প্রদান করে। এটি সাধারণত JsonResult বা PartialViewResult রিটার্ন টাইপ ব্যবহার করে।


AJAX Action Method তৈরির ধাপ

কন্ট্রোলারে AJAX Action Method তৈরি করা:
AJAX Action Method একটি HTTP রিকোয়েস্ট প্রসেস করে এবং ডেটা বা ভিউ রিটার্ন করে। এটি সাধারণত HttpGet বা HttpPost অ্যাট্রিবিউট দিয়ে সাজানো হয়।

জাভাস্ক্রিপ্ট দিয়ে AJAX রিকোয়েস্ট পাঠানো:
AJAX রিকোয়েস্ট পাঠানোর জন্য jQuery.ajax() বা Fetch API ব্যবহার করা হয়।


উদাহরণ: একটি AJAX Action Method তৈরি

ধরা যাক আমরা একটি সিস্টেমে শিক্ষার্থীর নাম অনুসারে তাদের ডেটা সার্চ করব এবং সার্ভার থেকে ডেটা ফিরিয়ে আনব।

Step 1: কন্ট্রোলারে AJAX Action Method তৈরি করা

public class StudentController : Controller
{
    [HttpPost]
    public JsonResult SearchStudent(string name)
    {
        // শিক্ষার্থীর ডেটা সংগ্রহ
        var students = GetStudents().Where(s => s.Name.Contains(name)).ToList();
        return Json(students);
    }

    private List<Student> GetStudents()
    {
        return new List<Student>
        {
            new Student { Id = 1, Name = "Rahim", Class = "10" },
            new Student { Id = 2, Name = "Karim", Class = "9" }
        };
    }
}

Step 2: ভিউতে AJAX রিকোয়েস্ট পাঠানোর কোড

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

<input type="text" id="searchName" placeholder="Enter student name" />
<button id="searchBtn">Search</button>
<div id="result"></div>

<script>
    $(document).ready(function () {
        $('#searchBtn').click(function () {
            var name = $('#searchName').val();

            $.ajax({
                url: '/Student/SearchStudent',
                type: 'POST',
                data: { name: name },
                success: function (data) {
                    var resultHtml = '<ul>';
                    data.forEach(function (student) {
                        resultHtml += '<li>' + student.Name + ' - Class ' + student.Class + '</li>';
                    });
                    resultHtml += '</ul>';
                    $('#result').html(resultHtml);
                },
                error: function () {
                    alert('Error occurred while fetching data!');
                }
            });
        });
    });
</script>

JSON রেসপন্স ব্যবহার

AJAX Action Method সাধারণত JSON রেসপন্স প্রদান করে, যা জাভাস্ক্রিপ্ট দিয়ে প্রসেস করা সহজ। উদাহরণে return Json(students); ব্যবহার করে JSON ডেটা পাঠানো হয়েছে।


Partial View ব্যবহার

AJAX Action Method থেকে Partial View রিটার্ন করেও পেজের নির্দিষ্ট অংশ আপডেট করা যায়।

Partial View রিটার্ন করার উদাহরণ:

public PartialViewResult GetStudentPartial()
{
    var students = GetStudents();
    return PartialView("_StudentList", students);
}

JavaScript দিয়ে Partial View লোড করা:

$.ajax({
    url: '/Student/GetStudentPartial',
    type: 'GET',
    success: function (data) {
        $('#partialContainer').html(data);
    }
});

AJAX Action Method-এর সুবিধা

  • পেজ রিফ্রেশ ছাড়াই ডেটা লোড করা: AJAX ব্যবহার করলে পুরো পেজ রিফ্রেশ না করেও নির্দিষ্ট অংশ আপডেট করা যায়।
  • দ্রুত রেসপন্স সময়: AJAX সার্ভার রিকোয়েস্ট এবং রেসপন্সের সময় কমিয়ে পেজ লোডিং সময় দ্রুত করে।
  • ব্যবহারকারীর অভিজ্ঞতা উন্নত: ইন্টারঅ্যাকটিভ এবং রেসপন্সিভ UI তৈরি করা সহজ হয়।

সারমর্ম

AJAX Action Method ASP.Net MVC অ্যাপ্লিকেশনে পেজ রিফ্রেশ ছাড়াই ডেটা লোড এবং প্রসেসিংয়ের জন্য কার্যকর। এটি ব্যবহার করে অ্যাপ্লিকেশনকে আরও দ্রুত এবং ইন্টারঅ্যাকটিভ করা যায়। JSON বা Partial View রিটার্ন টাইপ ব্যবহার করে ডেটা এবং ভিউকে সহজেই পরিচালনা করা সম্ভব।

common.content_added_by

Partial Page Updates এবং AJAX Forms

222
222

ASP.Net MVC-তে Partial Page Updates এবং AJAX Forms দুটি অত্যন্ত গুরুত্বপূর্ণ বৈশিষ্ট্য, যা ওয়েব অ্যাপ্লিকেশনের রেসপন্সিভনেস এবং পারফরম্যান্স উন্নত করতে সাহায্য করে। এই বৈশিষ্ট্যগুলোর মাধ্যমে আপনি ব্যবহারকারীর অ্যাকশন অনুসারে পেজের একটি নির্দিষ্ট অংশ আপডেট করতে পারেন, পুরো পেজ রিফ্রেশ না করেই। এর ফলে, অ্যাপ্লিকেশনটি দ্রুত এবং আরও ইন্টারঅ্যাকটিভ হয়ে ওঠে।


Partial Page Updates

Partial Page Update এর মাধ্যমে আপনি সম্পূর্ণ পেজটি রিফ্রেশ না করে পেজের এক বা একাধিক অংশ আপডেট করতে পারেন। এটি সাধারণত AJAX ব্যবহার করে করা হয়, যেখানে সার্ভার থেকে শুধুমাত্র সেই অংশের ডেটা রিটার্ন করা হয় যেটি আপডেট করতে হবে, এবং সেই ডেটা HTML ফরম্যাটে ক্লায়েন্টের কাছে পাঠানো হয়। এতে পুরো পেজের রিফ্রেশ করার প্রয়োজন হয় না, যা ব্যবহারকারীর অভিজ্ঞতা উন্নত করে।

উদাহরণ:

ধরা যাক, একটি তালিকা রয়েছে এবং ব্যবহারকারী একটি ডেটা আপডেট করার পর সেই তালিকা আপডেট করতে চান। এখানে AJAX ব্যবহার করে পেজের অংশ (তালিকা) আপডেট করা হবে।

  1. Controller:
public class StudentController : Controller
{
    // GET: Student/UpdateList
    public ActionResult UpdateList()
    {
        var students = GetStudents(); // মডেল থেকে ডেটা সংগ্রহ করা
        return PartialView("_StudentList", students); // Partial View রিটার্ন করা
    }

    private List<Student> GetStudents()
    {
        return new List<Student>
        {
            new Student { Id = 1, Name = "Rahim", Class = "10" },
            new Student { Id = 2, Name = "Karim", Class = "9" }
        };
    }
}
  1. Partial View (_StudentList.cshtml):
@model List<Student>
<table>
    <tr>
        <th>Name</th>
        <th>Class</th>
    </tr>
    @foreach (var student in Model)
    {
        <tr>
            <td>@student.Name</td>
            <td>@student.Class</td>
        </tr>
    }
</table>
  1. Main View:
<div id="student-list-container">
    @Html.Action("UpdateList")
</div>

<button id="refreshList">Refresh List</button>

<script>
    $(document).ready(function () {
        $("#refreshList").click(function () {
            $.ajax({
                url: '@Url.Action("UpdateList", "Student")',
                type: 'GET',
                success: function (result) {
                    $("#student-list-container").html(result); // Partial view আপডেট করা
                }
            });
        });
    });
</script>

এখানে, $("#refreshList").click() ইভেন্টের মাধ্যমে AJAX কল করা হয় এবং সার্ভার থেকে শুধুমাত্র UpdateList অ্যাকশন মেথডের ফলাফল (Partial View) রিটার্ন করা হয়, যা পেজের নির্দিষ্ট অংশে আপডেট হয়।


AJAX Forms

AJAX Forms ব্যবহারের মাধ্যমে আপনি ফর্ম সাবমিট করতে পারেন এবং পেজ রিফ্রেশ ছাড়াই ফলাফল প্রদর্শন করতে পারেন। এটি ব্যবহারকারীর অভিজ্ঞতা উন্নত করে এবং অ্যাপ্লিকেশনটির পারফরম্যান্স বাড়ায়, কারণ পুরো পেজ রিফ্রেশ করা হয় না। AJAX ফর্মে, ব্যবহারকারী একটি ফর্ম সাবমিট করলে, তা সার্ভারে চলে যায়, এবং সার্ভার থেকে রেসপন্স পেলে শুধুমাত্র নির্দিষ্ট অংশ আপডেট করা হয়।

উদাহরণ:

ধরা যাক, আমাদের একটি ফর্ম রয়েছে, যার মাধ্যমে ছাত্রের তথ্য সাবমিট করা হবে। ফর্মটি AJAX ব্যবহার করে সাবমিট করা হবে এবং ফলাফল পেজের একটি অংশে দেখানো হবে।

  1. Controller:
public class StudentController : Controller
{
    // POST: Student/Create
    [HttpPost]
    public ActionResult Create(Student student)
    {
        if (ModelState.IsValid)
        {
            // Save student data
            SaveStudent(student);
            return PartialView("_StudentList", GetStudents()); // Partial view return
        }
        return PartialView("_CreateForm", student); // যদি কোনো ত্রুটি থাকে
    }

    private void SaveStudent(Student student)
    {
        // Save student to the database
    }

    private List<Student> GetStudents()
    {
        return new List<Student>
        {
            new Student { Id = 1, Name = "Rahim", Class = "10" },
            new Student { Id = 2, Name = "Karim", Class = "9" }
        };
    }
}
  1. Main View:
@using (Html.BeginForm("Create", "Student", FormMethod.Post, new { id = "studentForm" }))
{
    @Html.LabelFor(m => m.Name)
    @Html.TextBoxFor(m => m.Name)
    
    @Html.LabelFor(m => m.Class)
    @Html.TextBoxFor(m => m.Class)

    <input type="submit" value="Submit" />
}

<div id="student-list-container">
    @Html.Action("UpdateList")
</div>

<script>
    $(document).ready(function () {
        $("#studentForm").submit(function (event) {
            event.preventDefault(); // Default form submission বন্ধ করা
            $.ajax({
                url: $(this).attr('action'),
                type: 'POST',
                data: $(this).serialize(),
                success: function (result) {
                    $("#student-list-container").html(result); // Partial view আপডেট করা
                }
            });
        });
    });
</script>

এখানে, ফর্মটি AJAX-এর মাধ্যমে সাবমিট করা হয়েছে এবং পেজের পুরো অংশের পরিবর্তে শুধুমাত্র ছাত্রের তালিকা আপডেট করা হয়েছে।


সারমর্ম

Partial Page Updates এবং AJAX Forms দুটি পদ্ধতি ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে এবং অ্যাপ্লিকেশনটি দ্রুত এবং রেসপন্সিভ করতে সহায়ক। Partial Page Updates সার্ভার থেকে শুধুমাত্র অংশবিশেষ ডেটা রিটার্ন করে এবং তা পেজে আপডেট করে, পুরো পেজ রিফ্রেশ না করেই। AJAX Forms ব্যবহারকারীর ফর্ম সাবমিট করার পর পেজ রিফ্রেশ না করে ফলাফল প্রদর্শন করতে সাহায্য করে। এই বৈশিষ্ট্যগুলোর মাধ্যমে অ্যাপ্লিকেশনটির পারফরম্যান্স ও ব্যবহারকারী ইন্টারঅ্যাকশন উন্নত করা যায়।

common.content_added_by

Unobtrusive AJAX এবং Validation

265
265

ASP.Net MVC-তে Unobtrusive AJAX এবং Validation দুটি অত্যন্ত গুরুত্বপূর্ণ বৈশিষ্ট্য যা অ্যাপ্লিকেশনটির ইউজার ইন্টারফেসের কার্যকারিতা এবং ব্যবহারকারীর অভিজ্ঞতাকে উন্নত করে। Unobtrusive AJAX ব্যবহার করে আমরা সাইটের কোনও পৃষ্ঠার রিফ্রেশ ছাড়াই ডেটা লোড বা আপডেট করতে পারি। অন্যদিকে, Unobtrusive Validation ব্যবহার করে ব্যবহারকারীর ইনপুট যাচাই করা যায়, যা ইউজার এক্সপেরিয়েন্স উন্নত করে এবং ক্লায়েন্ট সাইডে ত্রুটি সনাক্ত করতে সহায়ক হয়।


Unobtrusive AJAX

Unobtrusive AJAX এমন একটি কৌশল যেখানে AJAX কার্যক্রমের জন্য কোন বিশেষ JavaScript কোড ম্যানুয়ালি লিখতে হয় না। ASP.Net MVC-এর সাথে Unobtrusive AJAX একটি সহজ এবং কার্যকরী পদ্ধতি হিসেবে কাজ করে, যেখানে AJAX কলগুলি মডেল-বাইন্ডিং এবং ভিউ রেন্ডারিং-এর মধ্যে অন্তর্ভুক্ত থাকে এবং এটি কোনো অবাঞ্ছিত বা অপ্রয়োজনীয় JavaScript কোডের প্রয়োজন হয় না।

ASP.Net MVC-তে Unobtrusive AJAX ব্যবহার করার জন্য কিছু নির্দিষ্ট স্টেপ অনুসরণ করতে হয়।


Unobtrusive AJAX এর উদাহরণ

ধরা যাক, আমাদের একটি Student মডেল রয়েছে, এবং আমরা চাই যে যখন ব্যবহারকারী একটি নির্দিষ্ট ছাত্রের ডেটা নির্বাচন করবেন, তখন সঠিক তথ্য AJAX এর মাধ্যমে লোড হবে।

  1. Student মডেল:
public class Student
{
    public int Id { get; set; }
    public string Name { get; set; }
}
  1. কন্ট্রোলারের Action Method:
public class StudentController : Controller
{
    public ActionResult GetStudentDetails(int id)
    {
        Student student = new Student
        {
            Id = id,
            Name = "Student Name " + id
        };
        return PartialView("_StudentDetails", student);
    }
}
  1. ভিউ তৈরি করা:
@using (Html.BeginForm())
{
    @Html.DropDownListFor(model => model.Id, new SelectList(Model, "Id", "Name"), "Select a Student", new { @class = "student-dropdown" })
}

<div id="student-details"></div>

<script type="text/javascript">
    $(function () {
        $(".student-dropdown").change(function () {
            var studentId = $(this).val();
            $.ajax({
                url: '@Url.Action("GetStudentDetails", "Student")',
                data: { id: studentId },
                type: 'GET',
                success: function (data) {
                    $("#student-details").html(data);
                }
            });
        });
    });
</script>

এখানে, আমরা ড্রপডাউন মেনু ব্যবহারকারীর একটি Student নির্বাচন করার জন্য তৈরি করেছি। যখন একটি ছাত্র নির্বাচন করা হয়, তখন AJAX কলটি চালু হবে এবং পরবর্তী তথ্য সার্ভার থেকে পেতে পারবে এবং সেই তথ্যটিকে ক্লায়েন্ট সাইডে সরাসরি প্রদর্শন করবে।


Unobtrusive Validation

Unobtrusive Validation হল একটি কৌশল যেখানে ডেটা যাচাই শুধুমাত্র HTML মার্কআপ এবং JavaScript কোডের মাধ্যমে করা হয়, এবং এটি কোডে সরাসরি জাভাস্ক্রিপ্ট লেখা ছাড়াই কাজ করে। ASP.Net MVC-তে Unobtrusive Validation মডেল ক্লাসে ডেটা অ্যাট্রিবিউট এবং ভিউতে JavaScript বিনামূল্যে ডেটা যাচাইয়ের সুবিধা প্রদান করে।

ASP.Net MVC-তে Unobtrusive Validation সক্ষম করার জন্য jquery.validate এবং jquery.validate.unobtrusive স্ক্রিপ্ট লোড করতে হবে।


Unobtrusive Validation এর উদাহরণ

ধরা যাক, আমরা একটি ফর্ম তৈরি করতে চাই, যেখানে ব্যবহারকারীর নাম এবং ইমেল ঠিকানা যাচাই করা হবে।

  1. Student মডেল তৈরি করা:
public class Student
{
    [Required(ErrorMessage = "Name is required")]
    public string Name { get; set; }

    [Required(ErrorMessage = "Email is required")]
    [EmailAddress(ErrorMessage = "Invalid email address")]
    public string Email { get; set; }
}
  1. ভিউ তৈরি করা:
@model YourNamespace.Models.Student

@using (Html.BeginForm())
{
    <div>
        <label for="Name">Name:</label>
        @Html.TextBoxFor(m => m.Name, new { @class = "form-control" })
        @Html.ValidationMessageFor(m => m.Name)
    </div>
    
    <div>
        <label for="Email">Email:</label>
        @Html.TextBoxFor(m => m.Email, new { @class = "form-control" })
        @Html.ValidationMessageFor(m => m.Email)
    </div>
    
    <button type="submit">Submit</button>
}
  1. স্ক্রিপ্ট লোড করা:

ভিউতে জাভাস্ক্রিপ্ট লোড করার জন্য এই স্ক্রিপ্টগুলি অন্তর্ভুক্ত করতে হবে:

<script src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.19.2/jquery.validate.min.js"></script>
<script src="https://ajax.aspnetcdn.com/ajax/jquery.validate.unobtrusive/3.2.0/jquery.validate.unobtrusive.min.js"></script>

এখন, ফর্মটি সাবমিট করার আগে Unobtrusive Validation স্বয়ংক্রিয়ভাবে মডেল অ্যাট্রিবিউটগুলির সাহায্যে ফর্মের ইনপুট যাচাই করবে এবং যদি কোনো ত্রুটি থাকে তবে তা ব্যবহারকারীর সামনে দেখাবে।


Unobtrusive AJAX এবং Validation এর সুবিধা

  • উন্নত ইউজার এক্সপেরিয়েন্স: Unobtrusive AJAX ব্যবহারকারীকে পৃষ্ঠার রিফ্রেশ ছাড়াই ডেটা প্রক্রিয়া করার সুযোগ দেয়, যা দ্রুত এবং রেসপন্সিভ ইউজার এক্সপেরিয়েন্স প্রদান করে।
  • সহজ ইন্টিগ্রেশন: Unobtrusive Validation কোডিং এড়িয়ে ব্যবহারকারীর ইনপুট যাচাই করার জন্য সহজ উপায় প্রদান করে।
  • ক্লায়েন্ট সাইডে ত্রুটি সনাক্তকরণ: ইনপুট যাচাইয়ের ফলে ফর্মটি সাবমিট হওয়ার আগে ত্রুটিগুলি সনাক্ত করা সম্ভব হয়, যার ফলে সার্ভার সাইডে অপ্রয়োজনীয় রিকোয়েস্ট কমে যায়।

সারমর্ম

Unobtrusive AJAX এবং Validation হল দুটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা ASP.Net MVC-তে ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে সহায়ক। Unobtrusive AJAX পৃষ্ঠার রিফ্রেশ ছাড়া ডেটা লোড এবং প্রক্রিয়া করার সুবিধা দেয়, যখন Unobtrusive Validation ব্যবহারকারীর ইনপুট যাচাই করার জন্য ক্লায়েন্ট সাইডে ত্রুটি সনাক্তকরণ প্রক্রিয়া সহজ করে। এই দুটি ফিচার আধুনিক ওয়েব অ্যাপ্লিকেশনের জন্য অত্যন্ত গুরুত্বপূর্ণ।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion